﻿namespace BuildMotion.MotionTracker.Common
{
    /// <summary>
    /// Use to store information from the ASP.NET HttpApplication object. 
    /// </summary>
    public class WebContext
    {
        private Browser browser;
        private LogItem logItem;
        private LogRequest logRequest;
        private Session session;
        private Timestamp timestamp;
        private Url url;
        private UrlReferrer urlReferrer;

        /// <summary>
        /// Gets or sets the browser.
        /// </summary>
        /// <value>The browser.</value>
        public Browser Browser
        {
            get { return browser; }
            set { browser = value; }
        }

        /// <summary>
        /// Gets or sets the log item.
        /// </summary>
        /// <value>The log item.</value>
        public LogItem LogItem
        {
            get { return logItem; }
            set { logItem = value; }
        }

        /// <summary>
        /// Gets or sets the log request.
        /// </summary>
        /// <value>The log request.</value>
        public LogRequest LogRequest
        {
            get { return logRequest; }
            set { logRequest = value; }
        }

        /// <summary>
        /// Gets or sets the session.
        /// </summary>
        /// <value>The session.</value>
        public Session Session
        {
            get { return session; }
            set { session = value; }
        }

        /// <summary>
        /// Gets or sets the timestamp.
        /// </summary>
        /// <value>The timestamp.</value>
        public Timestamp Timestamp
        {
            get { return timestamp; }
            set { timestamp = value; }
        }

        /// <summary>
        /// Gets or sets the URL.
        /// </summary>
        /// <value>The URL.</value>
        public Url Url
        {
            get { return url; }
            set { url = value; }
        }

        /// <summary>
        /// Gets or sets the URL referrer.
        /// </summary>
        /// <value>The URL referrer.</value>
        public UrlReferrer UrlReferrer
        {
            get { return urlReferrer; }
            set { urlReferrer = value; }
        }
    }
}